Protokol Katmanları ve Servis Modelleri
Katman
Bilgisayar ağlarında katman, ağ protokollerinin farklı işlevlerini sıralı ve hiyerarşik olarak organize etmek için kullanılan bir terimdir. Genellikle OSI (Açık Sistemler Arası) veya TCP/IP protokol suitlerinde bulunan farklı katmanlar, ağ iletişimi için gerekli hizmetleri sağlamakla sorumludur.
Katmanlar, alt katmanların üst katmanlara hizmet verdiği bir yapıda düzenlenirler. Her katman, alt katmanlardan aldığı verileri işler, gerekli hizmetleri sağlar ve sonucu üst katmana gönderir. Üst katmanlar, alt katmanların sunduğu hizmetleri kullanarak kendi işlevlerini yerine getirirler.
Bu yapı, ağ protokollerinin karmaşıklığını azaltarak daha kolay anlaşılabilir, uygulanabilir ve yönetilebilir bir ağ tasarımı sağlar.
Uçak Yolculuğu Analojisi
Bilgisayarların katmanlı ağ yapısı, uçak yolculuğuna benzetilebilir.
- Fiziksel Katman: Bu katman, uçak yolculuğunda koltuklara denk gelir. Yolcuların koltuklarına oturabilmeleri için öncelikle uçağın fiziksel olarak hazır olması gerekiyor. Aynı şekilde, bilgisayar ağlarında veri iletimi için öncelikle fiziksel bağlantının kurulması gerekiyor.
- Veri Bağlantı Katmanı: Bu katman, uçak yolculuğunda hosteslere denk gelir. Hostesler, yolcuların ihtiyaçlarını karşılamak ve uçuş güvenliği sağlamak için çalışırlar. Benzer şekilde, veri bağlantı katmanı da veri iletimi sırasında hataların kontrol edilmesi ve giderilmesi için çalışır.
- Ağ Katmanı: Bu katman, uçak yolculuğunda pilotlara denk gelir. Pilotlar, uçak rotasını belirler ve uçağın gideceği yolları seçerler. Benzer şekilde, ağ katmanı da veri paketlerinin doğru rota üzerinden iletilmesini sağlar.
- Taşıma Katmanı: Bu katman, uçak yolculuğunda kargo bölmesine denk gelir. Kargo bölmesi, yolcuların bagajlarının taşınması için kullanılır. Benzer şekilde, taşıma katmanı da veri paketlerinin doğru hedefe ulaşmasını sağlar.
- Uygulama Katmanı: Bu katman, uçak yolculuğunda yolculara denk gelir. Yolcular, uçakta farklı amaçlarla bulunabilirler: biri iş seyahati yapabilir, biri tatil için seyahat edebilir. Benzer şekilde, uygulama katmanı da farklı amaçlar için kullanılan farklı uygulamaları barındırır. Örneğin, web tarayıcısı, e-posta istemcisi gibi uygulamalar bu katmana örnek verilebilir.
Bu benzetme, bilgisayar ağlarının katmanlı yapısını daha iyi anlamak için faydalı olabilir.
Neden katmanlı bir yapı kullanıyoruz?
Bilgisayar ağlarını katmanlara ayırmamızın temel nedeni, karmaşık bir yapıyı daha basit parçalara ayırmak ve yönetmek için kullanmaktır. Katmanlara ayırarak, her bir katmanın belirli bir görevi vardır ve bu görevi yerine getirmek için gerekli protokolleri kullanır. Bu sayede, ağın performansı artar, yönetimi daha kolay hale gelir ve hataların bulunması ve çözülmesi daha kolay olur.
Örneğin, bir web sayfasını görüntülemek için bir ağ bağlantısı kullanıyoruz. Bu bağlantı, çok sayıda bilgisayar, cihaz ve ağ cihazı arasında geçiş yaparak hedef sunucuya ulaşır. Bu ağ yapısını katmanlara ayırdığımızda, verilerin nasıl yönlendirildiği, nasıl hedef sunucuya ulaştığı ve ne tür protokollerin kullanıldığı daha iyi anlaşılabilir. Bu da ağ yönetimi için önemlidir ve performansı artırır.
Internet Protokol Yığını
Internet protokol yığını, ağ iletişiminde kullanılan protokollerin bir gruplaşmasıdır. Bu protokoller, uçtan uca iletişimi sağlamak için birbirine bağlanmış katmanlar halinde düzenlenir.
Internet protokol yığını genellikle 5 katmandan oluşur:
- Fiziksel Katman (Physical Layer): Bu katman, ağ donanımının özelliklerini tanımlar ve verinin fiziksel bir ortamda nasıl iletilmesi gerektiğini belirler.
- Veri Bağlantı Katmanı (Data Link Layer): Bu katman, ağ donanımının düzgün çalışmasını sağlamak için veri aktarımı için bir protokol seti sağlar. Bu katman, ağdaki cihazlar arasındaki bağlantıyı tanımlar ve hataları algılamak ve düzeltmek için bir dizi mekanizma içerir.
- Ağ Katmanı (Network Layer): Bu katman, cihazlar arasında veri paketlerinin yönlendirilmesini sağlar. Bu katman, bir ağa bağlı cihazların IP adreslerinin atanmasını ve yönetilmesini içerir.
- Taşıma Katmanı (Transport Layer): Bu katman, uygulama katmanının (yukarıdaki katman) istekleri için uygun bir hizmet seviyesi sağlar. Verilerin güvenli ve hatasız bir şekilde transfer edilmesini sağlar ve akış kontrolü yapar.
- Uygulama Katmanı (Application Layer): Bu katman, son kullanıcının iletişim ihtiyaçlarını karşılamak için farklı uygulama protokolleri sunar. Örnek uygulamalar arasında e-posta, web sayfaları, dosya aktarımları ve çevrimiçi oyunlar bulunur.
Bu katmanlar, ağdaki cihazlar arasındaki iletişimin doğru şekilde gerçekleşmesini ve verilerin güvenli bir şekilde taşınmasını sağlar.
Fiziksel Katman
Fiziksel Katman (Physical Layer) ağ katmanının en alt seviyesidir ve bilgiyi iletim araçlarına uygun bir formata dönüştürür. Fiziksel katman, verinin bitler halinde 0 ve 1 olarak nasıl kodlandığını, sinyallerin hangi ortam üzerinden gönderildiğini ve hangi frekansta gönderildiğini belirler. Bu katman, bir bilgisayarın ağa fiziksel olarak nasıl bağlandığını belirler.
Fiziksel Katman, sinyallerin ortamda nasıl iletim sağlanacağını belirlemekle ilgilidir. Bu nedenle, kablolama, konektörler, ağ arabirim kartları, veri gönderme ve alımında kullanılan voltajlar, işaretleme yöntemleri, akım seviyeleri gibi fiziksel özellikleri tanımlayan bir dizi protokol ve standartlarla çalışır.
Fiziksel katman, verinin kablolama, sinyal seviyeleri, frekans ve veri hızı gibi fiziksel parametrelerine bakarak nasıl taşınacağına karar verir. Bu katmanda kullanılan teknolojiler arasında Ethernet, Wi-Fi, Bluetooth, Token Ring ve ATM gibi kablosuz veya kabiliyetli teknolojiler yer alır.
Fiziksel katman, bitleri sinyal olarak kodlamak için bazı standartları belirler. Bazı popüler fiziksel kodlama yöntemleri arasında Manchester, Differential Manchester, NRZ (Non Return to Zero) ve RZ (Return to Zero) kodlamaları yer alır.
Sonuç olarak, Fiziksel Katman, diğer ağ katmanlarına veri taşıyan bir yapıdır ve verinin ortamda nasıl taşınacağını ve fiziksel olarak nasıl şekillendirileceğini belirler.
Veri Bağlantı Katmanı
Veri Bağlantı Katmanı (Data Link Layer), ağdaki iki düğüm arasındaki veri transferini yöneten ve Fiziksel Katman tarafından sağlanan hizmeti kullanarak, bit akışını çerçevelere ayıran ve hata kontrolü yaparak güvenilir bir iletişim sağlayan bir katmandır.
Veri Bağlantı Katmanı'nın iki alt katmanı vardır:
- İletişim Kontrolü Alt Katmanı (Media Access Control Layer): Bu alt katman, ağ ortamında erişim kontrolü ve çerçevelerin hedefe doğru iletilmesini sağlar. Çerçevelerin adresleme mantığı bu alt katmanda gerçekleştirilir. Ethernet ve Wi-Fi protokolleri bu katmanın bir örneğidir.
- Hata Algılama ve Düzeltme Alt Katmanı (Error Detection and Correction Layer): Bu alt katman, Fiziksel Katman tarafından sağlanan hizmetlerin üzerine, çerçevelerdeki hataları tespit etmek ve düzeltmek için kullanılır. CRC (Cyclic Redundancy Check) ve Checksum bu alt katmanın bir örneğidir.
Veri Bağlantı Katmanı'nın görevleri arasında, veri akışını çerçevelere ayırma, çerçeveleri hedefe doğru iletimi, hatasız ve güvenilir bir iletişim sağlama, hatalı çerçeveleri tespit etme ve düzeltme yer almaktadır.
Bu katmanda kullanılan protokoller arasında Ethernet, Wi-Fi, PPP (Point-to-Point Protocol), HDLC (High-Level Data Link Control) ve ATM (Asynchronous Transfer Mode) bulunmaktadır. Veri Bağlantı Katmanı, aynı ağda bulunan cihazlar arasındaki doğrudan iletişimi yönetir ve ağdaki trafik yönetimini kontrol eder.
Veri Bağlantı Katmanı, internet protokol yığınının altındaki ikinci katmandır ve fiziksel katmanla birlikte bir araya gelerek, verilerin güvenli bir şekilde taşınmasını ve hedef cihaza doğru iletilmesini sağlar.
Ağ Katmanı
Ağ Katmanı (Network Layer), veri paketlerinin yönlendirilmesi ve hedefe ulaştırılması işlemlerini gerçekleştirir. Bu katman, paketlerin nereden nereye gönderileceğine karar verir ve ağdaki diğer cihazlarla iletişim kurar. Ayrıca veri paketlerinin başlık bilgilerini oluşturur.
Ağ Katmanı, IP (Internet Protokol) protokolü ile çalışır. Bu protokol, veri paketlerinin yönlendirilmesi için kullanılan bir adrestir. Her cihazın ağda benzersiz bir IP adresi vardır ve bu adresler sayesinde veri paketleri yönlendirilir. IP adresleri, 32 bitlik sayılarla temsil edilir ve dört bölüme ayrılmıştır.
Ağ Katmanı, veri paketlerinin yönlendirilmesi için bir dizi protokol ve algoritma kullanır. Bu algoritmalar, en kısa yolu seçmek ve paketlerin hedefe en hızlı şekilde ulaşmasını sağlamak için tasarlanmıştır. Bu katman ayrıca, paketlerin parçalanması ve yeniden birleştirilmesi işlemlerini de yönetir.
Ağ Katmanı, genellikle yönlendirici (router) cihazlarında bulunur. Yönlendiriciler, bir ağdaki cihazlar arasındaki veri trafiğini yönlendiren cihazlardır. Bu cihazlar, veri paketlerinin hedefe ulaşması için en kısa yolu seçerler ve ağ trafiğini düzenlerler. Ağ Katmanı, bu cihazların veri paketlerini doğru şekilde yönlendirmesine yardımcı olur.
Özetle, Ağ Katmanı, veri paketlerinin yönlendirilmesi ve hedefe ulaştırılması işlemlerinden sorumludur. Bu katman, IP adresleri ve bir dizi yönlendirme protokolü kullanarak, veri paketlerinin doğru şekilde iletilmesini sağlar.
Taşıma Katmanı
Transport Layer, Internet Protokolü yığınının dördüncü katmanıdır ve veri iletişimi için iki ana protokolü (TCP ve UDP) içerir. Bu katman, verilerin alıcıya iletilmesi sırasında doğru bir şekilde yönlendirilmesini sağlar ve verilerin güvenilir bir şekilde taşınmasını sağlayan hizmetler sunar.
TCP (Transmission Control Protocol), güvenilir, akış yönlendirme bağlantıları için kullanılan bir protokoldür. Verilerin bölünmesi, parçaların yeniden montajı, hata düzeltme ve yönlendirme işlemleri için özel olarak tasarlanmıştır. TCP, bağlantı tabanlı bir protokol olduğundan, bir veri iletimi başlatıldığında bir bağlantı kurar ve veri aktarımını tamamlamak için bağlantıyı kapatır.
UDP (User Datagram Protocol), veri paketlerini yönlendirmek için kullanılan bir protokoldür. UDP, güvenilir olmayan, bağlantısız bir protokol olduğundan, hata düzeltme işlevleri yoktur ve herhangi bir paket kaybolursa yeniden gönderilmez. Bu protokol, özellikle oyun, video akışı ve VoIP gibi gerçek zamanlı uygulamalar için idealdir, çünkü hızlı ve hafif olması gereken bu uygulamalarda birkaç kayıp paketin hızlı ilerlemesi daha önemlidir.
Transport Layer ayrıca port numaralarını kullanarak, bir bilgisayarın birden fazla uygulaması arasında ayrım yapabilen bir hizmet sunar. Örneğin, bir web tarayıcısı aynı anda web sayfalarını indirebilir ve e-posta istemcisi aynı anda e-posta alabilir. Transport Layer, bu farklı uygulamalar arasında ayırım yapmak için kaynak ve hedef IP adreslerine ek olarak kaynak ve hedef port numaralarını kullanır.
Uygulama Katmanı
Uygulama Katmanı ağa bağlanan uygulama programları için bir arabirim sağlar ve bu uygulamalar arasında veri iletişimini yönetir. Uygulama katmanı, örneğin e-posta, dosya aktarımı, web sayfaları, anlık mesajlaşma gibi birçok farklı uygulama protokolünü içerir. Bu katman, kullanıcının iletişim kurduğu uygulama programları arasındaki veri akışını yönetir.
Uygulama katmanında kullanılan protokollerin örnekleri şunlardır:
- HTTP (Hypertext Transfer Protocol): Web sayfalarının ve diğer internet kaynaklarının iletimi için kullanılır.
- FTP (File Transfer Protocol): Dosyaların sunucudan istemci bilgisayara transfer edilmesi için kullanılır.
- SMTP (Simple Mail Transfer Protocol): E-posta göndermek için kullanılır.
- DNS (Domain Name System): İnternet alan adlarının IP adreslerine çevrilmesi için kullanılır.
- DHCP (Dynamic Host Configuration Protocol): IP adresi, alt ağ maskesi, varsayılan ağ geçidi ve DNS sunucusu gibi ağ yapılandırma bilgilerini otomatik olarak atamak için kullanılır.
Uygulama katmanı, kullanıcıların farklı uygulamalarla etkileşim halinde olması nedeniyle diğer katmanlardan daha karmaşıktır. Ancak, diğer katmanlarla aynı prensipler temelinde çalışır ve veri iletimi için alt katmanlardan gelen hizmetleri kullanır.
OSI Referans Modeli
OSI (Open Systems Interconnection) referans modeli, ağ iletişimi için bir standart modeldir. Bu model, farklı ağ cihazları arasındaki iletişimi kolaylaştırmak için ağ protokollerini 7 farklı katmana ayırır.
Bu 7 katman şunlardır:
- Fiziksel Katman (Physical Layer): Bu katman, fiziksel bağlantıların kurulduğu ve verilerin kablolarda veya kablosuz olarak nasıl iletilmesi gerektiğini belirler.
- Veri Bağlantı Katmanı (Data Link Layer): Bu katman, ağdaki cihazlar arasındaki veri akışını yönetir. Verileri bloklara ayırır ve hataları kontrol eder.
- Ağ Katmanı (Network Layer): Bu katman, veri paketlerini bir cihazdan diğerine iletmek için yönlendirme işlemlerini gerçekleştirir. Bu katman, IP adreslerini kullanarak farklı ağlar arasındaki iletişimi sağlar.
- Taşıma Katmanı (Transport Layer): Bu katman, verilerin kaynak ve hedef cihazlar arasında iletilmesini sağlar. Bu katman, veri bütünlüğü, güvenilirlik ve hata kontrolü sağlar.
- Oturum Katmanı (Session Layer): Bu katman, veri alışverişini başlatır, sürdürür ve sonlandırır. Bu katman, bir cihazın bir diğer cihaza bağlanmasını ve veri alışverişi yapmasını sağlar.
- Sunum Katmanı (Presentation Layer): Bu katman, verilerin farklı cihazlarda tutulma şekillerini standart hale getirir. Bu katman, verilerin farklı formatlarda (örneğin, metin, görüntü veya ses) kodlanmasını ve çözümlenmesini sağlar.
- Uygulama Katmanı (Application Layer): Bu katman, kullanıcıların veri alışverişi yapmak için kullandığı uygulamaları içerir. Bu katman, kullanıcılara e-posta, web tarayıcısı, dosya aktarma vb. hizmetleri sunar.
OSI modeli, farklı cihazların aynı protokollerle birbirleriyle iletişim kurmasını sağlayarak, ağ tasarımını ve ağ protokollerinin geliştirilmesini kolaylaştırmaktadır. Burada Internet Protokol yığınından farklı olarak bulunan Oturum ve Sunum katmanlarına yakından bakalım.
Oturum Katmanı
Oturum Katmanı, bilgisayar ağındaki iki nokta arasında oturum yönetimini ve senkronizasyonunu sağlamak için kullanılan bir katmandır. Bu katman, ağ üzerindeki uç sistemler arasında güvenilir iletişimi sağlamak için gerekli olan özellikleri sağlar.
Oturum Katmanı, uygulama katmanındaki protokollerin ihtiyaç duyduğu belirli işlevleri yerine getirir. Bu işlevler arasında oturum yönetimi, veri senkronizasyonu, veri işaretlemesi ve hata kontrolü yer alır. Oturum Katmanı, veri akışındaki verilerin akışını kontrol eder ve akışı yönetir.
Bu katmanda kullanılan protokoller, oturum bilgilerini yönetir. İletişimdeki taraflar arasında oturum başlatma ve sonlandırma işlemleri gerçekleştirilir. Veri transferindeki güvenlik, kimlik doğrulama ve hata yönetimi de Oturum Katmanı tarafından sağlanır.
Özetle, Oturum Katmanı, uygulama katmanındaki programlar arasında oturumların yönetimini ve senkronizasyonunu sağlar. Bu katman, veri akışındaki verilerin akışını kontrol eder ve akışı yönetir. Ayrıca veri transferinde güvenlik, kimlik doğrulama ve hata yönetimini de sağlar.
Sunum Katmanı
Sunum Katmanı, OSI referans modelinde 6. katmandır ve uygulama verilerini ağa uygun bir formatta kodlayıp kod çözme işlemlerinden sorumludur. Verilerin formata dönüştürülmesi işlemi, farklı cihazlar ve işletim sistemleri arasında veri alışverişini mümkün kılmaktadır.
Sunum Katmanı, verilerin yapısını standart hale getirir ve gönderim öncesi verileri şifreleyerek güvenliği sağlar. Ayrıca, hata kontrolü işlemlerini gerçekleştirir ve veri sıkıştırma gibi işlemleri yapar.
Sunum Katmanı, uygulama katmanından gelen verileri alır ve veri yapısını değiştirmeden, ağ tarafından taşınabilir bir formata dönüştürür. Bu katman, uygulama katmanı ile ağ katmanı arasında bir arabirim görevi görür.
Örneğin, bir web tarayıcısı, Sunum Katmanı'nın yapısını kullanarak HTTP protokolüyle sunucudan istekte bulunabilir ve gelen verileri uygun bir formata dönüştürerek kullanıcının anlayabileceği hale getirebilir.
OSI ve TCP/IP Modelleri Karşılaştırması
OSI ve TCP/IP (İnternet Protokolü) modelleri, bilgisayar ağlarında kullanılan en popüler iki referans modelidir. Her iki model de birbirine benzer, ancak bazı avantajları ve dezavantajları vardır.
OSI modelinin avantajları şunlardır:
- Katmanlı yapısı sayesinde karmaşık ağlar daha kolay anlaşılabilir ve yönetilebilir.
- Her katman kendi işlevselliğine sahiptir ve bir katmanın değiştirilmesi diğer katmanları etkilemez.
- İyi bir standartlaştırma sağlar ve farklı cihazlar ve ağlar arasındaki uyumluluğu artırır.
- OSI modeli, TCP/IP modeline kıyasla daha ayrıntılı ve kapsamlıdır.
OSI modelinin dezavantajları şunlardır:
- Daha karmaşık bir yapıya sahip olduğu için, daha fazla kaynak gerektirir ve daha yavaş çalışabilir.
- OSI modeli, TCP/IP modeline kıyasla daha az yaygın olarak kullanılır ve daha az desteklenir.
TCP/IP modelinin avantajları şunlardır:
- Daha basit bir yapıya sahip olduğu için, daha hızlı ve daha az kaynak tüketir.
- İnternet ve diğer ağlarda yaygın olarak kullanılır ve geniş bir kullanıcı tabanına sahiptir.
- TCP/IP modeli, OSI modeline kıyasla daha hızlı bir şekilde uygulanabilir.
TCP/IP modelinin dezavantajları şunlardır:
- Katmanları daha az ayrıntılı olduğundan, ağ yapıları daha az anlaşılır ve yönetilir.
- TCP/IP modelinde bazı katmanlar, aynı anda birden fazla işlevi yerine getirir, bu da katmanların birbirine daha fazla bağımlı hale gelmesine neden olabilir.
Özetle, her iki model de kendi avantajları ve dezavantajlarına sahiptir ve kullanılacakları bağlam ve ihtiyaca göre değişebilir.
Sarmalama (Encapsulation)
Sarmalama (encapsulation), bir ağ protokolünün, verileri diğer ağ protokollerinin kullanabileceği bir formata dönüştürerek, diğer protokoller üzerinde iletişim sağlamasına olanak sağlayan bir işlemdir. Bu işlem sırasında, her katman önceki katmanın verilerini alır ve kendi protokolünün formatına dönüştürür. Bu şekilde, üst katman verileri alt katmanlar tarafından anlaşılabilir hale getirilir ve ağ üzerindeki iletişim sağlanır.
Örneğin, bir TCP/IP protokolü ile iletişim kurulurken, verilerin sarmalanması aşağıdaki adımları takip eder:
- Uygulama katmanı verileri, verilerin gönderildiği uygulama tarafından sağlanır.
- Taşıma katmanı (Transport Layer), uygulama verilerini kabul eder ve TCP protokolü kullanarak verileri parçalarına ayırır. Her parça, bir başlık (header) ile birlikte bir segment halinde oluşturulur.
- Ağ katmanı (Network Layer), her TCP segmentini IP datagramına yerleştirir. IP datagramı, kaynak ve hedef adresleri içeren bir başlıkla oluşturulur.
- Bağlantı katmanı (Data Link Layer), IP datagramını ağ üzerinde iletmek için bir çerçeve oluşturur. Çerçeve, kaynak ve hedef MAC adreslerini içeren bir başlıkla oluşturulur.
- Fiziksel katman (Physical Layer), çerçeveyi elektrik sinyallerine dönüştürerek ağ üzerinde iletimini gerçekleştirir.
Bu işlem, ağ protokolleri arasında veri alışverişi sağlarken, verilerin güvenliğini ve doğruluğunu sağlamak için kullanılır.
Sarmalama işlemi avantajları şunlardır:
- Protokoller arasında uyumluluk sağlar.
- Verilerin ağ üzerinde doğru bir şekilde iletilmesini sağlar.
- Güvenlik ve doğruluk sağlar.
Ancak dezavantajları da vardır:
- İşlem maliyetlidir ve ağ trafiğini arttırır.
- Veri sarmalama işlemi, ağ iletişiminde gecikmeye neden olabilir.